home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Original Code / An Exercise in Text Output / SysInfoList / SysInfoStrings.cs < prev   
Encoding:
Text File  |  2001-01-15  |  7.2 KB  |  173 lines

  1. //---------------------------------------------
  2. // SysInfoStrings.cs ⌐ 2001 by Charles Petzold
  3. //---------------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.Windows.Forms;
  7.  
  8. class SysInfoStrings
  9. {
  10.      public static string[] Labels
  11.      {
  12.           get
  13.           {
  14.                return new string[] 
  15.                {
  16.                     "ArrangeDirection",
  17.                     "ArrangeStartingPosition",
  18.                     "BootMode",
  19.                     "Border3DSize",
  20.                     "BorderSize",
  21.                     "CaptionButtonSize",
  22.                     "CaptionHeight",
  23.                     "ComputerName",
  24.                     "CursorSize",
  25.                     "DbcsEnabled",
  26.                     "DebugOS",
  27.                     "DoubleClickSize",
  28.                     "DoubleClickTime",
  29.                     "DragFullWindows",
  30.                     "DragSize",
  31.                     "FixedFrameBorderSize",
  32.                     "FrameBorderSize",
  33.                     "HighContrast",
  34.                     "HorizontalScrollBarArrowWidth",
  35.                     "HorizontalScrollBarHeight",
  36.                     "HorizontalScrollBarThumbWidth",
  37.                     "IconSize",
  38.                     "IconSpacingSize",
  39.                     "KanjiWindowHeight",
  40.                     "MaxWindowTrackSize",
  41.                     "MenuButtonSize",
  42.                     "MenuCheckSize",
  43.                     "MenuFont",
  44.                     "MenuHeight",
  45.                     "MidEastEnabled",
  46.                     "MinimizedWindowSize",
  47.                     "MinimizedWindowSpacingSize",
  48.                     "MinimumWindowSize",
  49.                     "MinWindowTrackSize",
  50.                     "MonitorCount",
  51.                     "MonitorsSameDisplayFormat",
  52.                     "MouseButtons",
  53.                     "MouseButtonsSwapped",
  54.                     "MousePresent",
  55.                     "MouseWheelPresent",
  56.                     "MouseWheelScrollLines",
  57.                     "NativeMouseWheelSupport",
  58.                     "Network",
  59.                     "PenWindows",
  60.                     "PrimaryMonitorMaximizedWindowSize",
  61.                     "PrimaryMonitorSize",
  62.                     "RightAlignedMenus",
  63.                     "Secure",
  64.                     "ShowSounds",
  65.                     "SmallIconSize",
  66.                     "ToolWindowCaptionButtonSize",
  67.                     "ToolWindowCaptionHeight",
  68.                     "UserDomainName",
  69.                     "UserInteractive",
  70.                     "UserName",
  71.                     "VerticalScrollBarArrowHeight",
  72.                     "VerticalScrollBarThumbHeight",
  73.                     "VerticalScrollBarWidth",
  74.                     "VirtualScreen",
  75.                     "WorkingArea",
  76.                };
  77.           }
  78.      }
  79.      public static string[] Values
  80.      {
  81.           get 
  82.           { 
  83.                return new string[] 
  84.                {
  85.                SystemInformation.ArrangeDirection.ToString(),
  86.                SystemInformation.ArrangeStartingPosition.ToString(),
  87.                SystemInformation.BootMode.ToString(),
  88.                SystemInformation.Border3DSize.ToString(),
  89.                SystemInformation.BorderSize.ToString(),
  90.                SystemInformation.CaptionButtonSize.ToString(),
  91.                SystemInformation.CaptionHeight.ToString(),
  92.                SystemInformation.ComputerName,
  93.                SystemInformation.CursorSize.ToString(),
  94.                SystemInformation.DbcsEnabled.ToString(),
  95.                SystemInformation.DebugOS.ToString(),
  96.                SystemInformation.DoubleClickSize.ToString(),
  97.                SystemInformation.DoubleClickTime.ToString(),
  98.                SystemInformation.DragFullWindows.ToString(),
  99.                SystemInformation.DragSize.ToString(),
  100.                SystemInformation.FixedFrameBorderSize.ToString(),
  101.                SystemInformation.FrameBorderSize.ToString(),
  102.                SystemInformation.HighContrast.ToString(),
  103.                SystemInformation.HorizontalScrollBarArrowWidth.ToString(),
  104.                SystemInformation.HorizontalScrollBarHeight.ToString(),
  105.                SystemInformation.HorizontalScrollBarThumbWidth.ToString(),
  106.                SystemInformation.IconSize.ToString(),
  107.                SystemInformation.IconSpacingSize.ToString(),
  108.                SystemInformation.KanjiWindowHeight.ToString(),
  109.                SystemInformation.MaxWindowTrackSize.ToString(),
  110.                SystemInformation.MenuButtonSize.ToString(),
  111.                SystemInformation.MenuCheckSize.ToString(),
  112.                SystemInformation.MenuFont.ToString(),
  113.                SystemInformation.MenuHeight.ToString(),
  114.                SystemInformation.MidEastEnabled.ToString(),
  115.                SystemInformation.MinimizedWindowSize.ToString(),
  116.                SystemInformation.MinimizedWindowSpacingSize.ToString(),
  117.                SystemInformation.MinimumWindowSize.ToString(),
  118.                SystemInformation.MinWindowTrackSize.ToString(),
  119.                SystemInformation.MonitorCount.ToString(),
  120.                SystemInformation.MonitorsSameDisplayFormat.ToString(),
  121.                SystemInformation.MouseButtons.ToString(),
  122.                SystemInformation.MouseButtonsSwapped.ToString(),
  123.                SystemInformation.MousePresent.ToString(),
  124.                SystemInformation.MouseWheelPresent.ToString(),
  125.                SystemInformation.MouseWheelScrollLines.ToString(),
  126.                SystemInformation.NativeMouseWheelSupport.ToString(),
  127.                SystemInformation.Network.ToString(),
  128.                SystemInformation.PenWindows.ToString(),
  129.                SystemInformation.PrimaryMonitorMaximizedWindowSize.ToString(),
  130.                SystemInformation.PrimaryMonitorSize.ToString(),
  131.                SystemInformation.RightAlignedMenus.ToString(),
  132.                SystemInformation.Secure.ToString(),
  133.                SystemInformation.ShowSounds.ToString(),
  134.                SystemInformation.SmallIconSize.ToString(),
  135.                SystemInformation.ToolWindowCaptionButtonSize.ToString(),
  136.                SystemInformation.ToolWindowCaptionHeight.ToString(),
  137.                SystemInformation.UserDomainName,
  138.                SystemInformation.UserInteractive.ToString(),
  139.                SystemInformation.UserName,
  140.                SystemInformation.VerticalScrollBarArrowHeight.ToString(),
  141.                SystemInformation.VerticalScrollBarThumbHeight.ToString(),
  142.                SystemInformation.VerticalScrollBarWidth.ToString(),
  143.                SystemInformation.VirtualScreen.ToString(),
  144.                SystemInformation.WorkingArea.ToString(),
  145.                };
  146.           }    
  147.      }
  148.      public static int Count
  149.      {
  150.           get
  151.           {
  152.                return Labels.Length;
  153.           }
  154.      }
  155.      public static float MaxLabelWidth(Graphics grfx, Font font)
  156.      {
  157.           return MaxWidth(Labels, grfx, font);
  158.      }
  159.      public static float MaxValueWidth(Graphics grfx, Font font)
  160.      {
  161.           return MaxWidth(Values, grfx, font);
  162.      }
  163.      static float MaxWidth(string[] astr, Graphics grfx, Font font) 
  164.      {
  165.           float fMax = 0;
  166.  
  167.           foreach (string str in astr)
  168.                fMax = Math.Max(fMax, grfx.MeasureString(str, font).Width);
  169.  
  170.           return fMax;
  171.      }
  172. }
  173.